package sixth.匿名内部类;

/**
 * 匿名内部类顾名思义就是没有一个具体名称的类，匿名内部类是在接口和抽象类的应用上发展起来的
 */
interface A {//定义接口
    public void printinfo();
}

class B implements A {//定义接口实现类
    @Override
    public void printinfo() {//覆写抽象方法
        System.out.println("Hello Java！");
    }
}
class X{
    public void fun1() {
        this.fun2(new B());// 传递子类实例
    }

    public void fun2(A a) {// 接受接口实例
        a.printinfo();     // 调用接口方法
    }
}

public class 一个简单的操作 {
    public static void main(String[] args) {
        new X().fun1(); //实例化X类对象并调用fun1()方法
    }
}
